home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / NEW / A-Newest / Quittner.d64 / tpug info-1 < prev    next >
Text File  |  2009-01-03  |  6KB  |  71 lines

  1. ║CM:TPUG INFO-1
  2. ║PT5:CN1
  3. ├╧═╨╒╘┼╥ ├╧══╧─╧╥┼ 64 & ├64 ╔╬╞╧╥═┴╘╔╧╬-1:
  4. ║CN0:PT12
  5.  
  6. ╘HERE ARE ABOUT 64000 MEMORY LOCATIONS (ACTUALLY 2 TO THE POWER OF 16=65536) NUMBERED FROM ZERO TO 65535. ┼ACH OF THEM CAN CONTAIN ONLY ANY NUMBER, CALLED A BYTE, BETWEEN 0 AND 255.
  7.      ╘HERE ARE DIFFERENT LANGUAGES THAT MAY BE USED TO COMMUNICATE WITH THE COMPUTER; THESE ARE THE MACHINE LANGUAGE, THE ASSEMBLER LANGUAGE, AND THE ┬┴╙╔├ LANGUAGE THAT CAN BE USED TO SEE, FOR EXAMPLE, WHICH NUMBER IS IN WHICH MEMORY LOCATION. ╫HEN THE COMPUTER IS SWITCHED ON, INTERNAL PROGRAMS ENSURE THAT THE KEYBOARD IS ACTIVATED, AND THE USER IS ABLE TO COMMUNICATE WITH THE INTERNAL PROGRAMS IN ╝┬┴╙╔├╛.
  8.      ╔F LINE NUMBERS ARE USED, THEN WHAT IS TYPED IN IS STORED INTERNALLY, BUT IT IS RETAINED ONLY AS LONG AS THE COMPUTER IS ON; IT IS POSSIBLE TO SAVE THE  TYPED-IN PROGRAMS AND/OR DATA ON EITHER A DISK OR ON A TAPE.
  9.      ╔F NO LINE NUMBERS ARE USED, THAT IS CALLED THE DIRECT MODE, THEN THE RESULT CAN BE SEEN IMMEDIATELY. ╞OR EXAMPLE, TO SEE WHICH NUMBER IS IN 59903, USING THE ┬┴╙╔├ LANGUAGE, TYPE ?PEEK(59903) AND THE RESULT, SHOWN ON THE SCREEN, IS 160. ╘O SEE WHICH NUMBER IS IN 213 THEN TYPE ?PEEK(213) AND THE NUMBER 39 WILL APPEAR ON THE SCREEN.         ╒SING ╝┬┴╙╔├╛ WITH LINE NUMBERS, WE CAN MAKE, FOR EXAMPLE, A PROGRAM ASK FOR A NUMBER, AND GET THE CONTENT OF THAT MEMORY LOCATION, AS BEFORE; THEN THE PROGRAM WILL ASK FOR THE NEXT NUMBER AGAIN AND AGAIN, UNTIL THE COMPUTER IS SWITCHED OFF.
  10.      
  11. 1000 INPUT"╫HICH MEMORY LOCATION";A: ?PEEK (A):GOTO 1000
  12.  
  13.      ╘HE COMPUTER WILL WAIT FOR YOU TO TYPE IN SOME MORE LINES, BUT NO MORE IS NEEDED FOR THAT TASK, SO YOU TYPE
  14.  RUN
  15. TO EXECUTE THE PROGRAM YOU HAVE TYPED IN.
  16.  
  17.      ╒SUALLY USING ╝MACHINE LANGUAGE╛ IS FASTER THAN ┬┴╙╔├, NO TIME IS NEEDED FOR THE COMPUTER TO TRANSLATE YOUR COMMANDS, IN ┼NGLISH, INTO MACHINE LANGUAGE. ╓ERY OFTEN CERTAIN MEMORY LOCATIONS ARE USED, CALLED REGISTERS, SUCH AS:
  18. LOCATION 780 IS CALLED THE ACCUMULATOR, OR .┴
  19. LOCATION 781 IS CALLED THE ╪ REGISTER OR .╪
  20. LOCATION 782 IS CALLED THE ┘ REGISTER OR .┘
  21. LOCATION 783 IS CALLED THE ╙TATUS REGISTER OR .╨
  22.      ═ACHINE LANGUAGE USES MANY SPECIAL NUMBERS, CALLED OP-CODES, WITH EACH ONE OF THEM DOING A SPECIFIC TASK. ╘HESE OP-CODES HAVE TO BE LOCATED IN MEMORY, AND USUALLY ONE OR TWO ADDITIONAL NUMBERS, FOLLOWING THE OP-CODE, ARE REQUIRED TO CARRY OUT THAT INSTRUCTION. ╘HERE ARE 1-BYTE INSTRUCTIONS, 2-BYTE INSTRUCTIONS AND 3-BYTE INSTRUCTIONS.
  23.      ╞OR EXAMPLES:
  24.  169 123 WILL PUT 123 INTO .┴
  25.  162 234 WILL PUT 234 INTO .╪
  26.  160 112 WILL PUT 112 INTO .┘
  27. ╘HIS IS CALLED LOADING THE REGISTERS.
  28.      ╔F WE WANT TO STORE A NUMBER INTO GENERAL MEMORY, THEN IT DEPENDS ON WHETHER THAT MEMORY NUMBER IS LOWER THAN 256 OR NOT. ╔F, FOR EXAMPLE, WE WANT
  29.  TO PUT THE CONTENT OF .┴ INTO 251, THEN WE USE 133 251
  30.  TO PUT .╪ INTO 252 USE 134 252
  31.  TO PUT .┘ INTO 253 USE 132 253
  32.      ╔F WE WANT TO LOAD A MEMORY LOCATION THAT IS BETWEEN 256 AND 65535, SAY FOR EXAMPLE 49153, THEN WE FIRST MUST DIVIDE THAT NUMBER BY 256 AND FIND THE REMAINDER; IN THIS EXAMPLE 49153 DIVIDED BY 256 IS 192, WITH THE REMAINDER BEING 1. ╘HEN
  33.  TO STORE THE CONTENT OF .┴ INTO 49153 WE USE 141 1 192
  34.  TO STORE .╪ INTO 53247 WE USE 142 255 207
  35.  TO STORE .┘ INTO 49154 WE USE 140 2 192
  36.  
  37.      ╘O GET FROM ┬┴╙╔├ INTO MACHINE LANGUAGE, WE MAY USE DATA STATEMENTS, WITH COMMAS BETWEEN BYTES, IN ┬┴╙╔├. ╘HAT WILL LOAD THE MACHINE LANGUAGE PROGRAM INTO A GIVEN PART OF MEMORY, AND ONCE ALL THE STATEMENTS ARE THERE WE TYPE SYS FOLLOWED BY THE LOCATION OF THE FIRST STATEMENT. ╘HE 96 AT THE END OF THE PROGRAM RETURNS THE COMPUTER BACK TO ┬┴╙╔├, WHOSE NEXT TASK, AFTER THE SYS COMMAND, IS STOP. ╘HEN THE KEYBOARD IS ENABLED AGAIN; AND THE 999 AT THE VERY END, MAKING A TO BE LARGER THAN 255, STOPS LOADING THE REQUIRED BYTES INTO MEMORY. ╞OR EXAMPLE TYPE WITHOUT TYPING MISTAKES:
  38.  
  39. 1100 FOR I=820 TO 1023: READ A: IF A > 255 THEN SYS 820: STOP
  40. 1110 POKE I,A:NEXT
  41. 1120 DATA 169,123, 162,234, 160,112, 133,251, 134,252, 132,253
  42. 1130 DATA 141,1,192, 142,255,207, 140,2,192, 96, 999
  43.  
  44.      ╝┴SSEMBLY LANGUAGE╛ IS PARTLY IN ┼NGLISH, AND ASSEMBLES THE PROGRAM IN MACHINE LANGUAGE. ╞OR EXAMPLE, ╠─┴ MEANS LOAD THE ACCUMULATOR. ┬UT THERE ARE 8 DIFFERENT WAYS IN WHICH A BYTE CAN BE LOADED INTO THE ACCUMULATOR.
  45. ╘YPING ╠─┴ # 123 WILL LOAD THE NUMBER 123 INTO THE ACCUMULATOR IN WHAT IS CALLED THE DIRECT ADDRESSING MODE.
  46. ╘YPING ╠─┴ 123, WITHOUT THE #, WILL TAKE THE CONTENT OF MEMORY LOCATION 123 AND LOAD IT INTO THE ACCUMULATOR. ┬ECAUSE 123 IS LESS THAN 256 THIS IS CALLED THE ┌ERO ╨AGE ADDRESSING MODE, RESULTING IN A 2-BYTE INSTRUCTION.
  47. ╘YPING ╠─┴ 345 WILL TAKE THE NUMBER CONTAINED IN MEMORY LOCATION 345 AND LOAD IT INTO THE ACCUMULATOR, BUT BECAUSE 345 IS BETWEEN 256 AND 65535 THIS WILL RESULT IN A 3-BYTE INSTRUCTION. ╘HIS IS CALLED THE ABSOLUTE ADDRESSING MODE.
  48.      ╞OR ANOTHER EXAMPLE, ╙╘┴ MEANS STORE THE ACCUMULATOR. ╘HERE ARE 7 WAYS OF DOING THIS:
  49. ╙╘┴ 123 WILL STORE THE CONTENTS OF THE ACCUMULATOR INTO MEMORY LOCATION 123, WITH A 2-BYTE INSTRUCTION IN THIS ┌ERO ╨AGE ADDRESSING MODE.
  50. ╙╘┴ 345 WILL STORE THE CONTENTS OF THE ACCUMULATOR INTO MEMORY LOCATION 345 WITH A 3-BYTE INSTRUCTION IN THIS ABSOLUTE ADDRESSING MODE.
  51. ╘HERE IS NO DIRECT ADDRESSING MODE FOR ╙╘┴.
  52.      ╥╘╙ RETURNS TO ┬┴╙╔├, PRODUCES BYTE 96 IN WHAT IS CALLED THE IMPLIED ADDRESSING MODE.
  53.      ╘┴╪ LOADS .╪ WITH WHAT IS IN .┴
  54.      ╘┴┘ LOADS .┘ WITH WHAT IS IN .┴
  55.      ╘╪┴ LOADS .┴ WITH WHAT IS IN .╪
  56.      ╘┘┴ LOADS .┴ WITH WHAT IS IN .┘
  57. ╘HERE ARE VERY MANY OTHER ASSEMBLY LANGUAGE INSTRUCTIONS.
  58.      
  59.      ═ANY PROGRAMS ARE INCLUDED IN THE COMPUTER, AND CAN BE ACCESSED. ┼XAMPLES:
  60.  
  61. 1200 FOR I=0 TO 15: POKE 53280,I
  62. 1210 FOR J=0 TO 3000: NEXT
  63. 1220 NEXT
  64. 1230 FOR I=0 TO 15: POKE 53281,I
  65. 1240 FOR J=0 TO 3000: NEXT
  66. 1250 NEXT: GOTO 1200
  67.      ╘YPE RUN TO GET IT GOING, PRESS THE RUN/STOP KEY TO STOP IT.
  68.  
  69. ║CN1:PT20
  70. ┬Y ╩OE ╤UITTNER, ╘╨╒╟ ┴PRIL 19, 2007
  71.